home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / misc / volume27 / xtink / part01 next >
Encoding:
Text File  |  1992-01-03  |  33.1 KB  |  902 lines

  1. Newsgroups: comp.sources.misc
  2. From: jim@wucs1.wustl.edu (James William Studt)
  3. Subject:  v27i022:  xtink - tinkbell for X systems, Part01/01
  4. Message-ID: <1992Jan3.024653.1299@sparky.imd.sterling.com>
  5. X-Md4-Signature: 7c3574e7fb9f4a147e2d3ba93fc3b399
  6. Date: Fri, 3 Jan 1992 02:46:53 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jim@wucs1.wustl.edu (James William Studt)
  10. Posting-number: Volume 27, Issue 22
  11. Archive-name: xtink/part01
  12. Environment: X11, Ultrix/RISC, SunOS, VMS
  13.  
  14. This is a program which places Tinkerbell in your X display.  She flutters
  15. about trying to harass your pointer and generally acting like a fairie.
  16.  
  17. It runs on VMS, Ultrix/RISC, and SUN/OS.  It probably runs on a lot of other
  18. platforms as well, but I've only tested these.  (The only tricky part is a 
  19. 20 millisecond timer.)
  20.  
  21. Enjoy...
  22.                     - jim studt
  23.                     wandering programmer
  24. --------------------
  25. #!/bin/sh
  26. # to extract, remove the header and type "sh filename"
  27. if `test ! -d ./tink`
  28. then
  29.   mkdir ./tink
  30.   echo "mkdir ./tink"
  31. fi
  32. if `test ! -s ./tink/tink.c`
  33. then
  34. echo "writing ./tink/tink.c"
  35. cat > ./tink/tink.c << '\End\Of\Shar\'
  36. /*     
  37. **  Tink is an imprisonment of Tinkerbell from the well known story.  She flies
  38. **  around on your 8 bit pseudocolor X display, avoiding walls and trying to
  39. **  steal your pointer.  She does not interfere with the screen, although your
  40. **  programs might interfere with her. (If another program does a 'CopyArea' on
  41. **  a spot where she is located, then she will be copied until she goes by and
  42. **  erases it.)
  43. **
  44. **  She will not grab the pointer while a button is pressed.  If you press a
  45. **  button while she has grabbed the pointer then she will die.  You can jerk
  46. **  the pointer away from her if you need it.
  47. **
  48. **  Tink on a Vax VMS system uses about 1.0 MIPS worth of your computer.  This
  49. **  is virtually all in X.  Because of the way Tink operates, she is almost
  50. **  never tagged with a clock tick, as such she doesn't really show up as a
  51. **  system load, but she is there.
  52. **
  53. **  Tink uses 16k pixels of Pixmap storage and 128 colors from your display.
  54. **
  55. **  I'm afraid I could only test this on VMS and Ultrix/RISC.  I checked our
  56. **  AT&T SVR3 manuals and didn't find a suitable function for waiting 20
  57. **  milliseconds, so there is no support for system V.  NeXT folks may want
  58. **  to use 'microsleep'.
  59. **
  60. **  A build command may look something like...
  61. **
  62. **      cc -o tink tink.c -lX11 -lm
  63. **
  64. **  or perhaps...
  65. **
  66. **      $ define X11 DECW$INCLUDE
  67. **      $ cc tink
  68. **      $ link tink,sys$input/opt
  69. **      sys$share:decw$xlibshr/share
  70. **      sys$share:vaxcrtl/share
  71. **      ctrl-Z
  72. **      $
  73. **
  74. **  if you don't know which to use, then you probably shouldn't be doing
  75. **  it anyway.
  76. **
  77. **  Tink is a product of:
  78. **
  79. **         The Department of Nifty Stuff
  80. **         <<Corporation omitted for legal reasons>>
  81. **         
  82. **  Tink may be used by anyone for any purpose at anytime for any reason.
  83. **  
  84. */     
  85.  
  86. #include <math.h>
  87. #include <stdlib.h>
  88. #include <stdio.h>
  89. #include <X11/Xlib.h>
  90. #include <X11/Xutil.h>
  91.  
  92. #ifndef VMS
  93. #include <sys/time.h>
  94. #include <signal.h>
  95. static void DummyFunc()
  96. {
  97. }
  98. #endif
  99.  
  100. #include "tink_n_0.xbm"
  101. #include "tink_n_1.xbm"
  102. #include "tink_ne_0.xbm"
  103. #include "tink_ne_1.xbm"
  104. #include "tink_e_0.xbm"
  105. #include "tink_e_1.xbm"
  106. #include "tink_se_0.xbm"
  107. #include "tink_se_1.xbm"
  108. #include "tink_s_0.xbm"
  109. #include "tink_s_1.xbm"
  110. #include "tink_sw_0.xbm"
  111. #include "tink_sw_1.xbm"
  112. #include "tink_w_0.xbm"
  113. #include "tink_w_1.xbm"
  114. #include "tink_nw_0.xbm"
  115. #include "tink_nw_1.xbm"
  116.  
  117. #define PLANES 1
  118. #define TSIZE  32
  119.  
  120. main()
  121. {
  122.     Display        *dp=0;
  123.     Window        w = 0;
  124.     int            wid,hgt;
  125.     XColor        color[256];
  126.     int            colorIndicies[256];
  127.     int            colors;
  128.     int            cmap;
  129.     int            screen=0;
  130.     int            mask;
  131.     float        tinkX,tinkY,tinkDX,tinkDY,tinkDDX,tinkDDY;
  132.     GC            eraseGC,whiteGC;
  133.     float        gravCoef = 2000;
  134.     float        dragCoef = 0.00005;
  135.     int            grabbedPointer = 0;
  136.     float        pointerDropProb = 0.975;
  137.     float        wallRepulseCoef = 1000;
  138.     float        freqCoef = 10.0;
  139.     float        cyclicCoef = 0.25;
  140.     float        realPhase = 0;
  141.     float        dPhase = 0.2;
  142.     int            phase,oldPhase;
  143.     Pixmap        pm[8][2];
  144.     int            rotation=0;
  145.     int            t = 0;
  146.  
  147.     /*     
  148.     **  open the default display
  149.     */         
  150.     dp = XOpenDisplay(0);
  151.     if ( dp==0) {
  152.     printf("Unable to open display.\n");
  153.     return;
  154.     }
  155.  
  156.     /*     
  157.     **  get the screen, size, root window, and color map.  Turn off any event
  158.     **    notification which we might be getting.
  159.     */     
  160.     screen = XDefaultScreen(dp);
  161.     wid = DisplayWidth(dp,screen);
  162.     hgt = DisplayHeight(dp,screen);
  163.     w = XDefaultRootWindow(dp);
  164.     cmap = XDefaultColormap(dp,screen);
  165.     XSelectInput(dp,w,0);
  166.  
  167.     /*     
  168.     **  allocate all of the free colors, we'll give a bunch back later.
  169.     */     
  170.     colors = 0;        
  171.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,128)) colors += 128;
  172.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,64)) colors += 64;
  173.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,32)) colors += 32;
  174.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,16)) colors += 16;
  175.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,8)) colors += 8;
  176.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,4)) colors += 4;
  177.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,2)) colors += 2;
  178.     if (XAllocColorCells(dp,cmap,0,0,0,colorIndicies+colors,1)) colors += 1;
  179.  
  180.     /*     
  181.     **  figure out which bitplanes are available.  An available bit plane has no
  182.     **    allocated entries who's color index has a 1 in that bit position.
  183.     */      
  184.     {    unsigned char    c[256];
  185.     int    i,j;
  186.     unsigned char    m;
  187.  
  188.     memset(c,1,sizeof(c));
  189.     for ( i = 0; i<colors; i++) c[ colorIndicies[i]] = 0;
  190.     m = 0;
  191.     for ( i = 0; i<256; i++) if ( c[i]) m |= i;
  192.     m = ~m;
  193.  
  194.     /*     
  195.     **  allocate the planes we will use
  196.     */     
  197.     mask = 0;
  198.     i = 7;
  199.     for ( j = 0; j<PLANES; j++) {
  200.         for ( ; i>=0; i--) {
  201.         if ( m&(1<<i)) {
  202.             mask |= 1<<i;
  203.             i--;
  204.             break;
  205.         }
  206.         }
  207.     }
  208.     if ( i<0) {
  209.         printf("Not enough planes available.  Aborting.\n");
  210.         return;
  211.     }
  212.  
  213.     /*     
  214.     **  free the extra colors
  215.     */     
  216.     for ( i = 0; i<colors; i++) {
  217.         if ( (colorIndicies[i]&mask)==0) {
  218.         XFreeColors(dp,cmap,&colorIndicies[i],1,0);
  219.         }
  220.     }
  221.     }
  222.  
  223.     /*     
  224.     **  mask is now our mask and we have allocated all color indicies which
  225.     **    which intersect mask.
  226.     */     
  227.  
  228.     /*     
  229.     **  set up the colors.  For now, just set them all to white.
  230.     */
  231.     {    int    i,c=0;
  232.     XColor    color[256];
  233.  
  234.     for ( i = 0; i<256; i++) {
  235.         if ( i&mask) {
  236.         color[c].green = 65535;
  237.         color[c].blue = 65535;
  238.         color[c].red = 65535;
  239.         color[c].pixel = i;
  240.         color[c].flags = DoRed | DoGreen | DoBlue;
  241.         c++;
  242.         }
  243.     }
  244.     XStoreColors(dp,cmap,color,c);
  245.     }
  246.  
  247.     /*     
  248.     **  create the pix maps, there are 8 directions, 0 to 7 as the compass goes.
  249.     **    There are two 'phases' per direction; wings out and wings down.
  250.     **    I may add a further multiple of three by making straight, turning right,
  251.     **    and turning left, but she's pretty spastic as it is and I'm not sure
  252.     **    anyone could tell.
  253.     */     
  254.     {    int d;
  255.     Pixmap    XCreatePixmapFromBitmapData();
  256.  
  257.     pm[0][0]  = XCreatePixmapFromBitmapData(dp, w, tink_n_0_bits,
  258.                                                 tink_n_0_width, tink_n_0_height,
  259.                                                 0, mask, 8);
  260.     pm[0][1]  = XCreatePixmapFromBitmapData(dp, w, tink_n_1_bits,
  261.                                                 tink_n_1_width, tink_n_1_height,
  262.                         0, mask, 8);
  263.     pm[1][0]  = XCreatePixmapFromBitmapData(dp, w, tink_ne_0_bits,
  264.                                                 tink_ne_0_width, tink_ne_0_height,
  265.                                                 0, mask, 8);
  266.     pm[1][1]  = XCreatePixmapFromBitmapData(dp, w, tink_ne_1_bits,
  267.                                                 tink_ne_1_width, tink_ne_1_height,
  268.                         0, mask, 8);
  269.     pm[2][0]  = XCreatePixmapFromBitmapData(dp, w, tink_e_0_bits,
  270.                                                 tink_e_0_width, tink_e_0_height,
  271.                                                 0, mask, 8);
  272.     pm[2][1]  = XCreatePixmapFromBitmapData(dp, w, tink_e_1_bits,
  273.                                                 tink_e_1_width, tink_e_1_height,
  274.                         0, mask, 8);
  275.     pm[3][0]  = XCreatePixmapFromBitmapData(dp, w, tink_se_0_bits,
  276.                                                 tink_se_0_width, tink_se_0_height,
  277.                                                 0, mask, 8);
  278.     pm[3][1]  = XCreatePixmapFromBitmapData(dp, w, tink_se_1_bits,
  279.                                                 tink_se_1_width, tink_se_1_height,
  280.                         0, mask, 8);
  281.     pm[4][0]  = XCreatePixmapFromBitmapData(dp, w, tink_s_0_bits,
  282.                                                 tink_s_0_width, tink_s_0_height,
  283.                                                 0, mask, 8);
  284.     pm[4][1]  = XCreatePixmapFromBitmapData(dp, w, tink_s_1_bits,
  285.                                                 tink_s_1_width, tink_s_1_height,
  286.                         0, mask, 8);
  287.     pm[5][0]  = XCreatePixmapFromBitmapData(dp, w, tink_sw_0_bits,
  288.                                                 tink_sw_0_width, tink_sw_0_height,
  289.                                                 0, mask, 8);
  290.     pm[5][1]  = XCreatePixmapFromBitmapData(dp, w, tink_sw_1_bits,
  291.                                                 tink_sw_1_width, tink_sw_1_height,
  292.                         0, mask, 8);
  293.     pm[6][0]  = XCreatePixmapFromBitmapData(dp, w, tink_w_0_bits,
  294.                                                 tink_w_0_width, tink_w_0_height,
  295.                                                 0, mask, 8);
  296.     pm[6][1]  = XCreatePixmapFromBitmapData(dp, w, tink_w_1_bits,
  297.                                                 tink_w_1_width, tink_w_1_height,
  298.                         0, mask, 8);
  299.     pm[7][0]  = XCreatePixmapFromBitmapData(dp, w, tink_nw_0_bits,
  300.                                                 tink_nw_0_width, tink_nw_0_height,
  301.                                                 0, mask, 8);
  302.     pm[7][1]  = XCreatePixmapFromBitmapData(dp, w, tink_nw_1_bits,
  303.                                                 tink_nw_1_width, tink_nw_1_height,
  304.                         0, mask, 8);
  305.     }
  306.  
  307.     /*     
  308.     **  make a GC for erasure and white.  These GCs are set to use only the
  309.     **    planes in 'mask'.  A zero in the masked planes means 'show through' the
  310.     **    color of the other planes.  Subwindow mode is tweaked so we can draw on
  311.     **    the whole screen.
  312.     */
  313.     {   XGCValues   ga;
  314.  
  315.         eraseGC = XCreateGC( dp, w, 0, &ga);
  316.     XSetForeground(dp,eraseGC,0);
  317.     XSetBackground(dp,eraseGC,0);
  318.     XSetPlaneMask(dp,eraseGC,mask);
  319.     XSetSubwindowMode(dp,eraseGC,IncludeInferiors);
  320.  
  321.     whiteGC = XCreateGC( dp, w, 0, &ga);
  322.     XSetForeground(dp,whiteGC,mask);
  323.     XSetBackground(dp,whiteGC,0);
  324.     XSetPlaneMask(dp,whiteGC,mask);
  325.     XSetSubwindowMode(dp,whiteGC,IncludeInferiors);
  326.     }
  327.  
  328.  
  329.     /*     
  330.     **  start tink, in the center, a small initial velocity
  331.     */
  332.     tinkX = wid/2;
  333.     tinkY = hgt/2;
  334.     tinkDX = 1.0;
  335.     tinkDY = 1.0;
  336.  
  337. #ifndef VMS
  338.     /*
  339.     ** if not a VMS system, then establish an interval timer and alarm
  340.     */
  341.     {    struct itimerval old;
  342.     static struct itimerval new={ {0,20000}, {1,0}};
  343.  
  344.     setitimer( ITIMER_REAL,&new,&old);
  345.     signal(SIGALRM,DummyFunc);
  346.     }
  347. #endif
  348.  
  349.     for (;;) {
  350.     int    ox,oy,nx,ny;        /* old and new coordinates */
  351.  
  352. #ifdef VMS
  353.     lib$wait(&0.02);
  354. #else
  355.     pause();
  356. /*    sigpause(sigmask(SIGALRM));*/
  357. #endif
  358.  
  359.     ox = tinkX;
  360.     oy = tinkY;
  361.     t++;
  362.  
  363.     /*     
  364.     **  compute drag.  Tink's drag goes up by the square of here velocity,
  365.     **  but is capped at the point where she loses 90% of here speed on each
  366.     **  iteration.
  367.     */     
  368.     {   float   v = sqrt(tinkDX*tinkDX+tinkDY*tinkDY);
  369.         float   d = 1.0 - (dragCoef * v*v);
  370.         if ( d <0.1) d = 0.1;
  371.         tinkDX *= d;
  372.         tinkDY *= d;
  373.     }
  374.  
  375.     /*     
  376.     **  tinkDDX and tinkDDY are tink's voluntary accelerations.  She has
  377.     **  other forces acting on her, but these are her own.
  378.     */     
  379.     tinkDDX = 0;
  380.     tinkDDY = 0;
  381.     {
  382.         float   mx,my,m;
  383.         static int     x,y,d,state,q23=0,same=0;
  384.     
  385.         /*     
  386.         **  locate the pointer.  Tink is attracted to the pointer by the
  387.         **    inverse square law, until she gets within 5 pixels.  Then she
  388.         **    feels no attraction at all, but rather 'grabs' the pointer.
  389.         **
  390.         **    If the pointer has not moved in ten cycles then we only look at
  391.         **    it every 16 cycles.  XQueryPointer is an expensive call and we
  392.         **    want to avoid it as much as possible.
  393.         */         
  394.         if ( same < 10 || q23++%16) {
  395.         int ox=x,oy=y;
  396.         XQueryPointer( dp,w,&d,&d,&d,&d,&x,&y,&state);
  397.         if ( ox==x && oy==y) same++;
  398.         else same = 0;
  399.         }
  400.         mx = x - tinkX;
  401.         my = y - tinkY;
  402.         m = sqrt(mx*mx + my*my);
  403.  
  404.         if ( m > 5.0) {
  405.         tinkDDX += gravCoef/(m*m) * mx/m;
  406.         tinkDDY += gravCoef/(m*m) * my/m;
  407.         grabbedPointer = 0;
  408.         } else {
  409.         /*     
  410.         **  if a button is pressed while the pointer is grabbed, then
  411.         **  tink dies.  If a button is pressed, then she will not grab
  412.         **  then pointer.
  413.         */     
  414.         if ( state && ( Button1Mask | Button2Mask | Button3Mask | 
  415.                     Button4Mask | Button5Mask)) {
  416.             if ( grabbedPointer) {
  417.             XFillRectangle(dp,w,eraseGC,tinkX-TSIZE/2,tinkY-TSIZE/2,TSIZE,TSIZE);
  418.             XSync(dp,1);
  419.             return;
  420.             }
  421.             grabbedPointer = 0;
  422.         } else {
  423.             grabbedPointer = 1;
  424.         }
  425.         /*     
  426.         **  randomly drop the pointer.  Note: if tink is moving less
  427.         **  than 5.0 then she will have to drop the pointer more than
  428.         **  once consecutively to actually lose it.
  429.         */     
  430.         if ( (rand()&65535)/65536.0 >  pointerDropProb) grabbedPointer = 0;
  431.         }
  432.     }
  433.  
  434.     /*     
  435.     **  tink doesn't like to hit the walls.  She is repelled by the inverse
  436.     **  square law.  I tried just inverse, but she stayed too close to the
  437.     **  center of the screen.
  438.     */     
  439.     tinkDDX += wallRepulseCoef / ((tinkX+5)*(tinkX+5));
  440.     tinkDDX -= wallRepulseCoef / ((wid+5-tinkX)*(wid+5-tinkX));
  441.     tinkDDY += wallRepulseCoef / ((tinkY+5)*(tinkY+5));
  442.     tinkDDY -= wallRepulseCoef / ((hgt+5-tinkY)*(hgt+5-tinkY));
  443.  
  444.     /*     
  445.     **  if tink is willfully accelerating, then point her in the right
  446.     **  direction.
  447.     */     
  448.     if ( tinkDDX!=0.0 || tinkDDY!=0.0) {
  449.         float   a = sqrt(tinkDDX*tinkDDX+tinkDDY*tinkDDY);
  450.         float   rx = tinkDDX/a;
  451.         float   ry = tinkDDY/a;
  452.  
  453.         if ( rx > 0.92) rotation = 2;
  454.         else if ( rx < -0.92) rotation = 6;
  455.         else if ( ry > 0.92) rotation = 4;
  456.         else if ( ry < -0.92) rotation = 0;
  457.         else if ( rx>0) {
  458.         if ( ry<0) rotation = 1;
  459.         else rotation = 3;
  460.         } else {
  461.         if ( ry>0) rotation = 5;
  462.         else rotation = 7;
  463.         }
  464.     }
  465.     
  466.     /*     
  467.     **  adjust tinks velocity by her willful acceleration
  468.     */         
  469.     tinkDX += tinkDDX;
  470.     tinkDY += tinkDDY;
  471.  
  472.     /*     
  473.     **  tink 'flutters' as she flies, this is a cyclical acceleration
  474.     **  perpendicular to her flight path.
  475.     */     
  476.     {   float   a = sqrt( tinkDX*tinkDX + tinkDY*tinkDY);
  477.         
  478.         tinkDX += cos(t/freqCoef)*cyclicCoef*(-tinkDY/a);
  479.         tinkDY += cos(t/freqCoef)*cyclicCoef*(tinkDX/a);
  480.     }
  481.  
  482.     /*     
  483.     **  adjust tink's x and y position.  She bounces off of walls when she
  484.     **  hits them.
  485.     */     
  486.     tinkX += tinkDX;
  487.     if ( tinkX < TSIZE/2 || tinkX > wid-TSIZE/2) {
  488.         tinkX -= tinkDX;
  489.         tinkDX *= -1;
  490.     }
  491.     tinkY += tinkDY;
  492.     if ( tinkY < TSIZE/2 || tinkY > hgt-TSIZE/2) {
  493.         tinkY -= tinkDY;
  494.         tinkDY *= -1;
  495.     }
  496.  
  497.     /*     
  498.     **  note the new x and y positions.
  499.     */     
  500.     nx = tinkX;
  501.     ny = tinkY;
  502.  
  503.     /*     
  504.     **  compute the new phase.
  505.     */     
  506.     oldPhase = phase;
  507.     realPhase += dPhase;
  508.     if ( realPhase >= 2.0) realPhase -= 2.0;
  509.     phase = realPhase;
  510.  
  511.     /*     
  512.     **  if the image changed then we will update the screen
  513.     */     
  514.     if ( nx != ox || ny != oy || phase != oldPhase) {
  515.         /*     
  516.         **  the pixmaps have a border of at least 7 pixels, so a movement of
  517.         **    7.0 or less will not require an erase.
  518.         */     
  519.         if ( tinkDX*tinkDX+tinkDY*tinkDY > 7.0*7.0) 
  520.         XFillRectangle(dp,w,eraseGC,ox-TSIZE/2,oy-TSIZE/2,TSIZE,TSIZE);
  521.         XCopyArea(dp,pm[rotation][phase],w,whiteGC,0,0,TSIZE,TSIZE,nx-TSIZE/2,ny-TSIZE/2);
  522.  
  523.         /*     
  524.         **  move the pointer if she has hold of it
  525.         */     
  526.         if ( grabbedPointer) {
  527.         XWarpPointer(dp,None,w,0,0,0,0,nx,ny);
  528.         }
  529.  
  530.         /*     
  531.         **  flush
  532.         */     
  533.         XFlush(dp,1);
  534.     }
  535.     }
  536. }
  537. \End\Of\Shar\
  538. else
  539.   echo "will not over write ./tink/tink.c"
  540. fi
  541. if `test ! -s ./tink/tink_e_0.xbm`
  542. then
  543. echo "writing ./tink/tink_e_0.xbm"
  544. cat > ./tink/tink_e_0.xbm << '\End\Of\Shar\'
  545. #define tink_e_0_width 32
  546. #define tink_e_0_height 32
  547. static char tink_e_0_bits[] = {
  548.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  549.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  550.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  551.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff,
  552.    0xff, 0xff, 0x9a, 0xff, 0xff, 0xff, 0xca, 0xff, 0xff, 0xf3, 0xd4, 0xff,
  553.    0xff, 0x8f, 0x25, 0xff, 0xff, 0x7f, 0x98, 0xfe, 0xff, 0x8f, 0x25, 0xff,
  554.    0xff, 0xf3, 0xd4, 0xff, 0xff, 0xff, 0xca, 0xff, 0xff, 0xff, 0x9a, 0xff,
  555.    0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  556.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  557.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  558.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  559. \End\Of\Shar\
  560. else
  561.   echo "will not over write ./tink/tink_e_0.xbm"
  562. fi
  563. if `test ! -s ./tink/tink_e_1.xbm`
  564. then
  565. echo "writing ./tink/tink_e_1.xbm"
  566. cat > ./tink/tink_e_1.xbm << '\End\Of\Shar\'
  567. #define tink_e_1_width 32
  568. #define tink_e_1_height 32
  569. static char tink_e_1_bits[] = {
  570.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  571.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  572.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  573.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  574.    0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, 0xff, 0xe8, 0xff,
  575.    0xff, 0x83, 0x25, 0xff, 0xff, 0x7f, 0x98, 0xfe, 0xff, 0x83, 0x25, 0xff,
  576.    0xff, 0xff, 0xe8, 0xff, 0xff, 0x7f, 0xf1, 0xff, 0xff, 0xff, 0xfe, 0xff,
  577.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  578.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  579.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  580.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  581. \End\Of\Shar\
  582. else
  583.   echo "will not over write ./tink/tink_e_1.xbm"
  584. fi
  585. if `test ! -s ./tink/tink_n_0.xbm`
  586. then
  587. echo "writing ./tink/tink_n_0.xbm"
  588. cat > ./tink/tink_n_0.xbm << '\End\Of\Shar\'
  589. #define tink_n_0_width 32
  590. #define tink_n_0_height 32
  591. static char tink_n_0_bits[] = {
  592.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  593.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  594.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  595.    0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x6f, 0xec, 0xff,
  596.    0xff, 0x8f, 0xe2, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x3f, 0xf9, 0xff,
  597.    0xff, 0xcf, 0xe6, 0xff, 0xff, 0x37, 0xd8, 0xff, 0xff, 0x8f, 0xe2, 0xff,
  598.    0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff,
  599.    0xff, 0x7f, 0xfd, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0xbf, 0xfb, 0xff,
  600.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  601.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  602.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  603. \End\Of\Shar\
  604. else
  605.   echo "will not over write ./tink/tink_n_0.xbm"
  606. fi
  607. if `test ! -s ./tink/tink_n_1.xbm`
  608. then
  609. echo "writing ./tink/tink_n_1.xbm"
  610. cat > ./tink/tink_n_1.xbm << '\End\Of\Shar\'
  611. #define tink_n_1_width 32
  612. #define tink_n_1_height 32
  613. static char tink_n_1_bits[] = {
  614.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  615.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  616.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  617.    0xff, 0xff, 0xfe, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfc, 0xff,
  618.    0xff, 0xff, 0xfe, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0x5f, 0xf5, 0xff,
  619.    0xff, 0x9f, 0xf2, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0xaf, 0xea, 0xff,
  620.    0xff, 0xdf, 0xf6, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff,
  621.    0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff,
  622.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  623.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  624.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  625. \End\Of\Shar\
  626. else
  627.   echo "will not over write ./tink/tink_n_1.xbm"
  628. fi
  629. if `test ! -s ./tink/tink_ne_0.xbm`
  630. then
  631. echo "writing ./tink/tink_ne_0.xbm"
  632. cat > ./tink/tink_ne_0.xbm << '\End\Of\Shar\'
  633. #define tink_ne_0_width 32
  634. #define tink_ne_0_height 32
  635. static char tink_ne_0_bits[] = {
  636.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  637.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  638.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  639.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0x7f, 0xcd, 0xff,
  640.    0xff, 0x7f, 0xd5, 0xff, 0xff, 0x1f, 0xe5, 0xff, 0xff, 0x5f, 0xf8, 0xff,
  641.    0xff, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xba, 0xff, 0xff, 0x7f, 0xc1, 0xff,
  642.    0xff, 0x8f, 0xf5, 0xff, 0xff, 0xb3, 0xf3, 0xff, 0xff, 0xbd, 0xff, 0xff,
  643.    0xff, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff,
  644.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  645.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  646.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  647. \End\Of\Shar\
  648. else
  649.   echo "will not over write ./tink/tink_ne_0.xbm"
  650. fi
  651. if `test ! -s ./tink/tink_ne_1.xbm`
  652. then
  653. echo "writing ./tink/tink_ne_1.xbm"
  654. cat > ./tink/tink_ne_1.xbm << '\End\Of\Shar\'
  655. #define tink_ne_1_width 32
  656. #define tink_ne_1_height 32
  657. static char tink_ne_1_bits[] = {
  658.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  659.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  660.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  661.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff,
  662.    0xff, 0xff, 0xd7, 0xff, 0xff, 0x3f, 0xe4, 0xff, 0xff, 0xbf, 0xfa, 0xff,
  663.    0xff, 0x1f, 0xf5, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0x7f, 0xf5, 0xff,
  664.    0xff, 0x9f, 0xf0, 0xff, 0xff, 0xa7, 0xfc, 0xff, 0xff, 0xdb, 0xff, 0xff,
  665.    0xff, 0xdd, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff,
  666.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  667.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  668.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  669. \End\Of\Shar\
  670. else
  671.   echo "will not over write ./tink/tink_ne_1.xbm"
  672. fi
  673. if `test ! -s ./tink/tink_nw_0.xbm`
  674. then
  675. echo "writing ./tink/tink_nw_0.xbm"
  676. cat > ./tink/tink_nw_0.xbm << '\End\Of\Shar\'
  677. #define tink_nw_0_width 32
  678. #define tink_nw_0_height 32
  679. static char tink_nw_0_bits[] = {
  680.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  681.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  682.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  683.    0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0x67, 0xfd, 0xff,
  684.    0xff, 0x57, 0xfd, 0xff, 0xff, 0x4f, 0xf1, 0xff, 0xff, 0x3f, 0xf4, 0xff,
  685.    0xff, 0x83, 0xf9, 0xff, 0xff, 0xbb, 0xfe, 0xff, 0xff, 0x07, 0xfd, 0xff,
  686.    0xff, 0x5f, 0xe3, 0xff, 0xff, 0x9f, 0xdb, 0xff, 0xff, 0xff, 0xbb, 0xff,
  687.    0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff,
  688.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  689.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  690.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  691. \End\Of\Shar\
  692. else
  693.   echo "will not over write ./tink/tink_nw_0.xbm"
  694. fi
  695. if `test ! -s ./tink/tink_nw_1.xbm`
  696. then
  697. echo "writing ./tink/tink_nw_1.xbm"
  698. cat > ./tink/tink_nw_1.xbm << '\End\Of\Shar\'
  699. #define tink_nw_1_width 32
  700. #define tink_nw_1_height 32
  701. static char tink_nw_1_bits[] = {
  702.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  703.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  704.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  705.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff,
  706.    0xff, 0xf5, 0xff, 0xff, 0xff, 0x13, 0xfe, 0xff, 0xff, 0xaf, 0xfe, 0xff,
  707.    0xff, 0x57, 0xfc, 0xff, 0xff, 0xa7, 0xfc, 0xff, 0xff, 0x57, 0xff, 0xff,
  708.    0xff, 0x87, 0xfc, 0xff, 0xff, 0x9f, 0xf2, 0xff, 0xff, 0xff, 0xed, 0xff,
  709.    0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xf7, 0xff,
  710.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  711.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  712.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  713. \End\Of\Shar\
  714. else
  715.   echo "will not over write ./tink/tink_nw_1.xbm"
  716. fi
  717. if `test ! -s ./tink/tink_s_0.xbm`
  718. then
  719. echo "writing ./tink/tink_s_0.xbm"
  720. cat > ./tink/tink_s_0.xbm << '\End\Of\Shar\'
  721. #define tink_s_0_width 32
  722. #define tink_s_0_height 32
  723. static char tink_s_0_bits[] = {
  724.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  725.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  726.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  727.    0xff, 0xbf, 0xfb, 0xff, 0xff, 0xbf, 0xfb, 0xff, 0xff, 0x7f, 0xfd, 0xff,
  728.    0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff,
  729.    0xff, 0x8f, 0xe2, 0xff, 0xff, 0x37, 0xd8, 0xff, 0xff, 0xcf, 0xe6, 0xff,
  730.    0xff, 0x3f, 0xf9, 0xff, 0xff, 0x5f, 0xf5, 0xff, 0xff, 0x8f, 0xe2, 0xff,
  731.    0xff, 0x6f, 0xec, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff,
  732.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  733.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  734.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  735. \End\Of\Shar\
  736. else
  737.   echo "will not over write ./tink/tink_s_0.xbm"
  738. fi
  739. if `test ! -s ./tink/tink_s_1.xbm`
  740. then
  741. echo "writing ./tink/tink_s_1.xbm"
  742. cat > ./tink/tink_s_1.xbm << '\End\Of\Shar\'
  743. #define tink_s_1_width 32
  744. #define tink_s_1_height 32
  745. static char tink_s_1_bits[] = {
  746.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  747.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  748.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  749.    0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff,
  750.    0xff, 0x7f, 0xfd, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xdf, 0xf6, 0xff,
  751.    0xff, 0xaf, 0xea, 0xff, 0xff, 0x1f, 0xf0, 0xff, 0xff, 0x9f, 0xf2, 0xff,
  752.    0xff, 0x5f, 0xf5, 0xff, 0xff, 0x3f, 0xf9, 0xff, 0xff, 0xff, 0xfe, 0xff,
  753.    0xff, 0x7f, 0xfc, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xff, 0xfe, 0xff,
  754.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  755.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  756.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  757. \End\Of\Shar\
  758. else
  759.   echo "will not over write ./tink/tink_s_1.xbm"
  760. fi
  761. if `test ! -s ./tink/tink_se_0.xbm`
  762. then
  763. echo "writing ./tink/tink_se_0.xbm"
  764. cat > ./tink/tink_se_0.xbm << '\End\Of\Shar\'
  765. #define tink_se_0_width 32
  766. #define tink_se_0_height 32
  767. static char tink_se_0_bits[] = {
  768.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  769.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  770.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  771.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff,
  772.    0xff, 0xdf, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0xff, 0xbd, 0xff, 0xff,
  773.    0xff, 0xb3, 0xf3, 0xff, 0xff, 0x8f, 0xf5, 0xff, 0xff, 0x7f, 0xc1, 0xff,
  774.    0xff, 0xff, 0xba, 0xff, 0xff, 0x3f, 0x83, 0xff, 0xff, 0x5f, 0xf8, 0xff,
  775.    0xff, 0x1f, 0xe5, 0xff, 0xff, 0x7f, 0xd5, 0xff, 0xff, 0x7f, 0xcd, 0xff,
  776.    0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  777.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  778.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  779. \End\Of\Shar\
  780. else
  781.   echo "will not over write ./tink/tink_se_0.xbm"
  782. fi
  783. if `test ! -s ./tink/tink_se_1.xbm`
  784. then
  785. echo "writing ./tink/tink_se_1.xbm"
  786. cat > ./tink/tink_se_1.xbm << '\End\Of\Shar\'
  787. #define tink_se_1_width 32
  788. #define tink_se_1_height 32
  789. static char tink_se_1_bits[] = {
  790.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  791.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  792.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  793.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff,
  794.    0xff, 0xbf, 0xff, 0xff, 0xff, 0x77, 0xff, 0xff, 0xff, 0x6f, 0xff, 0xff,
  795.    0xff, 0x9f, 0xf2, 0xff, 0xff, 0x7f, 0xc2, 0xff, 0xff, 0xff, 0xd5, 0xff,
  796.    0xff, 0x7f, 0xca, 0xff, 0xff, 0x7f, 0xd4, 0xff, 0xff, 0xff, 0xea, 0xff,
  797.    0xff, 0xff, 0x90, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0xff, 0x3f, 0xff,
  798.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  799.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  800.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  801. \End\Of\Shar\
  802. else
  803.   echo "will not over write ./tink/tink_se_1.xbm"
  804. fi
  805. if `test ! -s ./tink/tink_sw_0.xbm`
  806. then
  807. echo "writing ./tink/tink_sw_0.xbm"
  808. cat > ./tink/tink_sw_0.xbm << '\End\Of\Shar\'
  809. #define tink_sw_0_width 32
  810. #define tink_sw_0_height 32
  811. static char tink_sw_0_bits[] = {
  812.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  813.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  814.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  815.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff,
  816.    0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xde, 0xff,
  817.    0xff, 0xe7, 0xe6, 0xff, 0xff, 0xd7, 0xf8, 0xff, 0xff, 0x41, 0xff, 0xff,
  818.    0xff, 0xae, 0xff, 0xff, 0xff, 0x60, 0xfe, 0xff, 0xff, 0x0f, 0xfd, 0xff,
  819.    0xff, 0x53, 0xfc, 0xff, 0xff, 0x55, 0xff, 0xff, 0xff, 0x59, 0xff, 0xff,
  820.    0xff, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  821.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  822.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  823. \End\Of\Shar\
  824. else
  825.   echo "will not over write ./tink/tink_sw_0.xbm"
  826. fi
  827. if `test ! -s ./tink/tink_sw_1.xbm`
  828. then
  829. echo "writing ./tink/tink_sw_1.xbm"
  830. cat > ./tink/tink_sw_1.xbm << '\End\Of\Shar\'
  831. #define tink_sw_1_width 32
  832. #define tink_sw_1_height 32
  833. static char tink_sw_1_bits[] = {
  834.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  835.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  836.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  837.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff,
  838.    0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xdd, 0xff, 0xff, 0xff, 0xed, 0xff,
  839.    0xff, 0x9f, 0xf2, 0xff, 0xff, 0x87, 0xfc, 0xff, 0xff, 0x57, 0xff, 0xff,
  840.    0xff, 0xa7, 0xfc, 0xff, 0xff, 0x57, 0xfc, 0xff, 0xff, 0xaf, 0xfe, 0xff,
  841.    0xff, 0x13, 0xfe, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff,
  842.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  843.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  844.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  845. \End\Of\Shar\
  846. else
  847.   echo "will not over write ./tink/tink_sw_1.xbm"
  848. fi
  849. if `test ! -s ./tink/tink_w_0.xbm`
  850. then
  851. echo "writing ./tink/tink_w_0.xbm"
  852. cat > ./tink/tink_w_0.xbm << '\End\Of\Shar\'
  853. #define tink_w_0_width 32
  854. #define tink_w_0_height 32
  855. static char tink_w_0_bits[] = {
  856.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  857.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  858.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  859.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0xff,
  860.    0xff, 0xcf, 0xfa, 0xff, 0xff, 0x9f, 0xfa, 0xff, 0xff, 0x5f, 0x79, 0xfe,
  861.    0xff, 0x27, 0x8d, 0xff, 0xff, 0xcb, 0xf0, 0xff, 0xff, 0x27, 0x8d, 0xff,
  862.    0xff, 0x5f, 0x79, 0xfe, 0xff, 0x9f, 0xfa, 0xff, 0xff, 0xcf, 0xfa, 0xff,
  863.    0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  864.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  865.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  866.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  867. \End\Of\Shar\
  868. else
  869.   echo "will not over write ./tink/tink_w_0.xbm"
  870. fi
  871. if `test ! -s ./tink/tink_w_1.xbm`
  872. then
  873. echo "writing ./tink/tink_w_1.xbm"
  874. cat > ./tink/tink_w_1.xbm << '\End\Of\Shar\'
  875. #define tink_w_1_width 32
  876. #define tink_w_1_height 32
  877. static char tink_w_1_bits[] = {
  878.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  879.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  880.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  881.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  882.    0xff, 0xff, 0xfb, 0xff, 0xff, 0x7f, 0xf4, 0xff, 0xff, 0xbf, 0xf8, 0xff,
  883.    0xff, 0x27, 0x0d, 0xfe, 0xff, 0x8b, 0xf1, 0xff, 0xff, 0x27, 0x0d, 0xfe,
  884.    0xff, 0xbf, 0xf8, 0xff, 0xff, 0x7f, 0xf4, 0xff, 0xff, 0xff, 0xfb, 0xff,
  885.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  886.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  887.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  888.    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
  889. \End\Of\Shar\
  890. else
  891.   echo "will not over write ./tink/tink_w_1.xbm"
  892. fi
  893. echo "Finished archive 1 of 1"
  894. exit
  895.  
  896. exit 0 # Just in case...
  897. -- 
  898. Kent Landfield                   INTERNET: kent@sparky.IMD.Sterling.COM
  899. Sterling Software, IMD           UUCP:     uunet!sparky!kent
  900. Phone:    (402) 291-8300         FAX:      (402) 291-4362
  901. Please send comp.sources.misc-related mail to kent@uunet.uu.net.
  902.